﻿using System;

namespace Mind.Data
{
    [global::System.AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
    public class WrapperPropertyAttribute : Attribute
    {

    }


    [global::System.AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
    public class WrapperCalcPropertyAttribute : Attribute
    {

    }

    [global::System.AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
    public class WrapperLoockupAttribute : Attribute
    {

    }


    [global::System.AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
    public class WrapperKeyPropertyAttribute : WrapperPropertyAttribute
    {
        /// <summary>
        /// True se tem Autoincremento.
        /// </summary>
        public bool Identity { get; set; }

        public WrapperKeyPropertyAttribute()
        {
            Identity = true;
        }
    }

    [global::System.AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
    public class WrapperNamePropertyAttribute : WrapperPropertyAttribute
    {

    }


    [global::System.AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
    public class WrapperTableNameAttribute : WrapperPropertyAttribute
    {
        public String TableName { get; private set; }


        public WrapperTableNameAttribute(string tableName)
        {
            this.TableName = tableName;
        }
    }

}